Alqor Bələdçisi — 7. Tez Arayış (Cheat Sheet)#
Bir səhifəlik xülasə. Çap edib masanızda saxlaya bilərsiniz.
Əsaslar#
Alqor
// Şərh
/* Blok şərh */
/// Sənəd şərhi
yaz("Salam") // çıxış
dəyişən ad = oxu("Ad: ") // giriş
dəyişən n = oxuTam("Say: ")Dəyişənlər#
Alqor
dəyişən a = 5 // dəyişə bilər
sabit B = 5 // dəyişməz bağlama
dəyişməz C = [1,2] // dərin dəyişməz
dəyişən d: tam = 5 // açıq tip
dəyişən x, y = 1, 2 // çoxlu
dəyişən p, q = (3, 4) // dağıtmaTiplər#
tam onluq mətn məntiq simvol bayt
siyahı[T] lüğət[A,D] dəst[T] kortej[A,B]
T? (ixtiyari) A|B (birləşmə) istənilən heçOperatorlar#
+ - * / ~/ % ** hesab (~/ = tam bölmə)
== != < > <= >= <=> müqayisə
və və ya deyil (&& || !) məntiq
& | ^ ~ << >> >>> bit
= += -= *= /= %= **= ??= mənimsətmə
?? ?. ?= ! boş ilə iş
.. ..< addım diapazon
... içindədir tipidir kimi |> xüsusiPrioritet (yuxarıdan): () [] . → yeni → ** → tək - deyil ~ → kimi → * / ~/ % → + - → << >> → & ^ | → .. → < > <= >= → == != → və → və ya → ?? → |> → =
Şərtlər#
Alqor
əgər şərt onda
...
yoxsa əgər şərt onda
...
yoxsa // və ya: əks halda
...
son
// İfadə kimi
dəyişən x = əgər a onda 1 yoxsa 2 son
// İxtiyari bağlama
varsa i = tap() onda ... yoxsa ... son
yoxdursa i = tap() onda qaytar sonSeçim#
Alqor
seç dəyər
hal 1 → yaz("bir")
hal 2, 3 → yaz("iki və ya üç")
hal 10..20 → yaz("onluq")
hal x əgər x > 100 → yaz("böyük")
digər hallarda → yaz("digər")
son
seç tipi x
hal tam → ...
hal mətn → ...
sonDövrlər#
Alqor
hər x üçün siyahı içində ... son
hər i, x üçün siyahı içində ... son
hər a, d üçün lüğət içində ... son
hər i üçün 1..10 içində ... son
hər i üçün 1..10 addım 2 içində ... son
hər x üçün s içində əgər x > 5 ... son
nə qədər ki şərt ... son
həmişə ... son
təkrarla 5 dəfə ... son
təkrarla i, 5 dəfə ... son
dayan davam et
dayan etiket davam et etiketFunksiyalar#
Alqor
funksiya ad(a: tam, b: tam = 0) -> tam
qaytar a + b
son
funksiya çox(...ədədlər: tam) -> tam ... son
funksiya adlı(*, açar: mətn) ... son
dəyişən f = (x) => x * 2
dəyişən g = funksiya(x) qaytar x * 2 son
asinxron funksiya h() -> tam ... son
generator funksiya g() -> tam ... ver x ... sonSiniflər#
Alqor
sinif Ad miras Baza tətbiq İnterfeys
açıq xassə a: tam
gizli xassə _b: mətn
statik xassə say: tam = 0
xassə hesablanan: tam
oxu qaytar özü.a * 2 son
yaz(dəyər) özü.a = dəyər ~/ 2 son
son
qurucu(a: tam)
üst()
özü.a = a
son
metod f() ... son
statik metod g() ... son
əvəz et metod h() ... son
mücərrəd metod i()
son
struktur Nöqtə // dəyər tipi
xassə x: onluq
son
interfeys Çapedilən
metod mətnƏt() -> mətn
son
sadalama Rəng
QIRMIZI
YAŞIL
son
obyektJurnal ... son // tək nüsxə
genişlət mətn ... son // mövcud tipə metod əlavəXətalar#
Alqor
cəhd et
...
tut (x: TipXətası)
...
tut (x: Xəta) əgər x.kod == 404
...
nəhayət
...
son
at Xəta("mesaj")
iddia şərt, "mesaj"
təmin şərt yoxsa at Xəta("...") son
gecikdir təmizlə()
istifadə f = fayl.aç("a") ... sonModullar#
Alqor
gətir riyaziyyat
gətir riyaziyyat kimi r
gətir riyaziyyat.{kök, Pİ}
gətir riyaziyyat.{kök kimi k}
gətir "./yerli.alq" kimi y
ixrac et funksiya f() ... son
ixrac et {a, b}Asinxron#
Alqor
asinxron funksiya f() -> tam ... son
dəyişən x = gözlə f()
dəyişən (a, b) = gözlə paralel(f1(), f2())
dəyişən hamısı = gözlə paralel.hamısı([f1(), f2()])
gözlə vaxt.gözlə(1000)Siyahı metodları#
əlavə daxilEt sil silDəyər sonunuSil təmizlə
sırala qarışdır tərsinəÇevir
sıralanmış tərs dilim çevir filtr yığ düzlə
təkrarsız birləşdir qrupla hissələrə zip nömrələ
uzunluq boşdur ehtiva tap tapİndeks indeks say
hamısı hərHansı heçBiri ilk son minimum maksimum
cəm orta hərBiri klonlaMətn metodları#
uzunluq böyüyə kiçiyə başBöyük hərSözBöyük
kəs başKəs sonKəs əvəz əvəzİlk böl birləşdir
sətirlər simvollar sözlər baytlar
ehtiva başlayır bitir tap sonTap say
dilim təkrar tərs doldur solDoldur mərkəz
boşdur rəqəmdir hərfdir müqayisə normalizasiya
latınla URLKodla base64Kodla HTMLQaçLüğət metodları#
al qoy sil təmizlə ehtiva ehtivaDəyər
uzunluq boşdur açarlar dəyərlər cütlər
birləşdir çevir filtr hərBiri alVəYaQoy yeniləÇevirmə#
Alqor
tamƏt("42") onluqƏt("3.14") mətnƏt(42)
məntiqƏt("doğru") x kimi tam x kimi? tam
tip(x) uzunluq(x) klonla(x)Mətn formatı#
Alqor
"Salam, {ad}!"
"{qiymət:.2}" // 2 onluq
"{say:05}" // 00042
"{n:,}" // 1,000,000
"{n:,az}" // 1 000 000
"{n:x}" "{n:b}" // onaltılıq, ikilik
"{m:<10}" "{m:>10}" "{m:^10}" // düzülməAnnotasiyalar#
@sınaq @köhnəlmiş("...") @daxili @saf @yaddaşla
@quyruqRekursiya @yalnızHədəf("veb") @json("ad")
@cədvəl("ad") @açar @API("/yol")CLI əmrləri#
terminal
alqor yeni <ad> [--şablon veb|desktop|kitabxana]
alqor işlət [fayl] [--izlə]
alqor qur [--hədəf veb|linux-x64|...] [--buraxılış]
alqor yoxla # sürətli xəta yoxlaması
alqor sına [--örtük]
alqor format
alqor söhbət # REPL
alqor paketlə --hədəf deb|appimage|flatpak
alqor yerləşdir --növ docker|systemd|statik
alqorpm əlavə|sil|yüklə|yenilə|axtar <paket>
alqorfmt [--yoxla] [--ascii-düzəlt] .
alqorlint [--düzəlt] .Azərbaycan hərfləri (redaktorda)#
;e → ə ;i → ı ;o → ö ;u → ü
;c → ç ;s → ş ;g → ğ ;I → İ
;E → Ə ;C → Ç ;S → Ş ;G → Ğ
Avtomatik: eger→əgər, deyisen→dəyişən, ucun→üçün, ...Veb — ən qısa server#
Alqor
gətir veb
dəyişən s = yeni veb.Server()
s.al("/", (q) => veb.mətn("Salam"))
s.dinlə(8080)Desktop — ən qısa pəncərə#
Alqor
gətir pəncərə
dəyişən p = yeni pəncərə.Pəncərə("Ad", 800, 600)
p.məzmun(<h1>Salam</h1>)
p.göstər()
pəncərə.işlət()Açar sözlərin tam siyahısı#
dəyişən sabit dəyişməz funksiya sinif struktur interfeys
sadalama modul obyekt qarışıq tip qurucu silinsin metod
xassə genişlət komponent mağaza
açıq gizli qorunan statik mücərrəd son tənbəl global
asinxron generator
əgər onda yoxsa əks halda varsa yoxdursa
seç hal digər hallarda keç
nə qədər ki həmişə təkrarla dəfə hər üçün içində addım
dayan davam et
qaytar ver gözlə paralel gecikdir istifadə blok
cəhd tut nəhayət at iddia təmin bərpa
özü üst yeni miras tətbiq ilə əvəz
gətir ixrac kimi dan standart başlanğıc bitiş
və ya deyil içindədir tipidir boşdur eynidir
doğru yanlış boş sonsuz ƏdədDeyil
tam onluq mətn məntiq simvol bayt siyahı lüğət
dəst kortej funksiyaTipi istənilən heç
vəziyyət hadisə hesablanan əməl göstər
sınaq dayanNöqtəsi ölç sil